﻿using AutoMapper.Internal.Mappers;
using EMS.system.Entityies.BaseData;
using EMS.system.IEntityAppService.BaseData.IAccountService.AccountDto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Repositories;

namespace EMS.system.IEntityAppService.BaseData.IAccountService
{
    public interface IAccountAppService:IApplicationService
    {
        /// <summary>
        /// 用户新增
        /// </summary>
        /// <param name="addDto"></param>
        /// <returns></returns>
        Task<int> AccountAdd(AccountAddDto addDto);

        /// <summary>
        /// 显示用户
        /// </summary>
        /// <param name="name"></param>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <returns></returns>
        Task<PagedResult> AccountRoleList(string name, int page, int limit);

        /// <summary>
        /// 删除用户
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<int> AccountDel(string ids);

        /// <summary>
        /// 获取单个用户信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<AccountUpdDto> GetSingAccount(int id);

        /// <summary>
        /// 编辑用户信息
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<int> AccountUpd(AccountUpdDto dto);
    }
}
